package com.dtda.edu.miaosha.common.exception;

import com.dtda.edu.miaosha.common.response.CommonError;

/**
 * @author 袁强
 * @version 2019年1月28日 下午7:49:16
 * 类说明  :包装器 业务异常类 实现
 */
public class BusinessException extends Exception implements CommonError{

	/**
	 * 对象序列版本化
	 */
	private static final long serialVersionUID = -7222262047976888458L;
	
	private CommonError commonError;    //枚举 EmBusinessError 是直接 子类
	
	/**
	 * 直接接受 枚举EmBusinessError的入参 用于构造业务异常
	 * @param commonError
	 */
	public BusinessException(CommonError commonError) {
		super();   //调用Exception的构造方法,完成其内部的一些操作
		this.commonError = commonError;
	}
	
	/**
	 * 自定义 errMsg 用于构造业务异常
	 * @param commonError
	 */
	public BusinessException(CommonError commonError,String errMsg) {
		super();   //调用Exception的构造方法,完成其内部的一些操作
		this.commonError = commonError;
		this.commonError.setErrMsg(errMsg);
	}
	
	@Override
	public String getErrCode() {
		// TODO Auto-generated method stub
		return this.commonError.getErrCode();
	}

	@Override
	public String getErrMsg() {
		// TODO Auto-generated method stub
		return this.commonError.getErrMsg();
	}

	@Override
	public CommonError setErrMsg(String errMsg) {
		// TODO Auto-generated method stub
		this.commonError.setErrMsg(errMsg);
		return this;
	}
}
